package com.hellobike.haxing.modules.wms.dto;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
public class StockPickDto implements Serializable {

    /**id*/
    @TableId(type = IdType.AUTO)
    private Long id ;
    /**stkBatchLocId*/
    @Excel(name = "stkBatchLocId", width = 15)
    private Long stkBatchLocId ;
    /**skuId*/
    @Excel(name = "skuId", width = 15)
    private Long skuId ;
    /**batchId*/
    @Excel(name = "batchId", width = 15)
    private Long batchId ;
    /**locId*/
    @Excel(name = "locId", width = 15)
    private Long locId ;
    /**pickQty*/
    @Excel(name = "pickQty", width = 15)
    private BigDecimal pickQty ;
    /**warehouseId*/
    @Excel(name = "warehouseId", width = 15)
    private Long warehouseId ;
    /**createTime*/
    @Excel(name = "createTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date createTime ;
    /**updateTime*/
    @Excel(name = "updateTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date updateTime ;
    /**createBy*/
    @Excel(name = "createBy", width = 15)
    private Integer createBy ;
    /**updateBy*/
    @Excel(name = "updateBy", width = 15)
    private Integer updateBy ;
    /**deleted*/
    @Excel(name = "deleted", width = 15)
    @TableLogic
    private Integer deleted ;

    private String spuName;
    private Integer storeType;
    private String skuCode;
    private String barcode;
    private String locCode;
    private JSONObject dimensionValues;

    @TableField(exist = false)
    private String expiryDate;

    private String specifications;
}
